using UnityEngine;
using QFramework;
using System.Collections;

namespace ProjectSurviver
{
	public partial class TestMaxPowerUpCount : ViewController
	{
		private int mPowerUpCount = 0;

        IEnumerator Start()
        {
            var powerUpManager = FindObjectOfType<PowerUpManager>();
			powerUpManager.GetAllExp.Instantiate()
			.Position(gameObject.Position())
			.Show();

			for (int i = 0; i < 1000; i++)
			{
				gameObject.Position(Random.Range(3, 20) * RandomUtility.Choose(-1, 1),
				Random.Range(3, 20) * RandomUtility.Choose(-1, 1)); // 随机生成一个位置
				Global.GeneratePowerUp(gameObject, false); // 生成一个PowerUp
				mPowerUpCount++; // 增加PowerUp数量

				gameObject.Position(Random.Range(3, 20) * RandomUtility.Choose(-1, 1),
				Random.Range(3, 20) * RandomUtility.Choose(-1, 1)); // 随机生成一个位置

				Global.GeneratePowerUp(gameObject, false); // 生成一个PowerUp
				mPowerUpCount++; // 增加PowerUp数量

				gameObject.Position(Random.Range(3, 20) * RandomUtility.Choose(-1, 1),
				Random.Range(3, 20) * RandomUtility.Choose(-1, 1)); // 随机生成一个位置

				Global.GeneratePowerUp(gameObject, false); // 生成一个PowerUp
				mPowerUpCount++; // 增加PowerUp数量

				gameObject.Position(Random.Range(3, 20) * RandomUtility.Choose(-1, 1),
				Random.Range(3, 20) * RandomUtility.Choose(-1, 1)); // 随机生成一个位置

				Global.GeneratePowerUp(gameObject, false); // 生成一个PowerUp
				mPowerUpCount++; // 增加PowerUp数量

				gameObject.Position(Random.Range(3, 20) * RandomUtility.Choose(-1, 1),
				Random.Range(3, 20) * RandomUtility.Choose(-1, 1)); // 随机生成一个位置

				Global.GeneratePowerUp(gameObject, false); // 生成一个PowerUp
				mPowerUpCount++; // 增加PowerUp数量

				gameObject.Position(Random.Range(3, 20) * RandomUtility.Choose(-1, 1),
				Random.Range(3, 20) * RandomUtility.Choose(-1, 1)); // 随机生成一个位置

				Global.GeneratePowerUp(gameObject, false); // 生成一个PowerUp
				mPowerUpCount++; // 增加PowerUp数量

				gameObject.Position(Random.Range(3, 20) * RandomUtility.Choose(-1, 1),
				Random.Range(3, 20) * RandomUtility.Choose(-1, 1)); // 随机生成一个位置

				Global.GeneratePowerUp(gameObject, false); // 生成一个PowerUp
				mPowerUpCount++; // 增加PowerUp数量

				gameObject.Position(Random.Range(3, 20) * RandomUtility.Choose(-1, 1),
				Random.Range(3, 20) * RandomUtility.Choose(-1, 1)); // 随机生成一个位置

				Global.GeneratePowerUp(gameObject, false); // 生成一个PowerUp
				mPowerUpCount++; // 增加PowerUp数量
				
				gameObject.Position(Random.Range(3, 20) * RandomUtility.Choose(-1, 1),
				Random.Range(3, 20) * RandomUtility.Choose(-1, 1)); // 随机生成一个位置

				Global.GeneratePowerUp(gameObject, false); // 生成一个PowerUp
				mPowerUpCount++; // 增加PowerUp数量
				
				gameObject.Position(Random.Range(3, 20) * RandomUtility.Choose(-1, 1),
				Random.Range(3, 20) * RandomUtility.Choose(-1, 1)); // 随机生成一个位置

				Global.GeneratePowerUp(gameObject, false); // 生成一个PowerUp
				mPowerUpCount++; // 增加PowerUp数量
				yield return new WaitForEndOfFrame(); // 等待下一帧
			}
        }

        void OnGUI()
        {
            var cached = GUI.matrix; // 缓存当前的GUI矩阵
			IMGUIHelper.SetDesignResolution(1920, 1080); // 设置设计分辨率
			GUILayout.Space(10); // 增加10像素的间距
			GUILayout.Label(mPowerUpCount.ToString()); // 显示当前的PowerUp数量
        }
    }
}
